/*
    基数排序

    前置知识：无

    基于比较的排序
    只需要定义好两个对象之间怎么比较即可，对象的数据特征并不关心，很通用
    不基于比较的排序
    和比较无关的排序，对于对象的数据特征有要求，并不通用

    计数排序，非常简单，但是数值范围比较大了就不行了

    基数排序的实现细节，非常优雅的一个实现
    关键点：前缀数量分区的技巧、数字提取某一位的技巧
    时间复杂度O(n)，额外空间复杂度O(m)，需要辅助空间做类似桶的作用，来不停的装入、弹出数字

    一般来讲，计数排序要求，样本是整数，且范围比较窄
    一般来讲，基数排序要求，样本是10进制的非负整数
    如果不是就需要转化，代码里做了转化，并且代码里可以设置任何进制来进行排序
    一旦比较的对象不再是常规数字，那么改写代价的增加是显而易见的，所以不基于比较的排序并不通用

*/